home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 2001 May / SGI IRIX Base Documentation 2001 May.iso / usr / share / catman / a_man / cat1 / ml.z / ml
Encoding:
Text File  |  2001-04-17  |  10.1 KB  |  199 lines

  1.  
  2.  
  3.  
  4. mmmmllll((((1111MMMM))))                                                                  mmmmllll((((1111MMMM))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      ml - load dynamic kernel modules
  10.  
  11. SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  12.      mmmmllll lllliiiisssstttt [----rrrrllllbbbb]
  13.      mmmmllll lllldddd [----vvvv] [----dddd] ----[ccccbbbbBBBBffff] module.o ----pppp prefix [----ssss major major ...]
  14.      mmmmllll lllldddd [----vvvv] [----dddd] ----mmmm module.o ----pppp prefix [----aaaa streams_module_name]
  15.      mmmmllll lllldddd [----vvvv] [----dddd] ----jjjj module.o ----pppp prefix [----aaaa file_system_name]
  16.      mmmmllll lllldddd [----vvvv] [----dddd] ----llll module.o
  17.      mmmmllll lllldddd [----vvvv] ----rrrr module.o [----uuuu] [----tttt autounload_delay]
  18.      mmmmllll lllldddd [----vvvv] [----dddd] ----iiii module.o ----pppp prefix
  19.      mmmmllll rrrreeeegggg [----vvvv] [----dddd] ----[ccccbbbbBBBBffff] module.o ----pppp prefix [----ssss major major ...]
  20.           [----tttt autounload_delay]
  21.      mmmmllll rrrreeeegggg [----vvvv] [----dddd] ----mmmm module.o ----pppp prefix [----aaaa streams_module_name]
  22.           [----tttt autounload_delay]
  23.      mmmmllll [uuuunnnnlllldddd|uuuunnnnrrrreeeegggg] [----vvvv] id ...
  24.      mmmmllll ddddeeeebbbbuuuugggg [----vvvvssssnnnn]
  25.  
  26. DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  27.      The _m_l command provides a means of loading and unloading dynamic kernel
  28.      modules.  The first argument to _m_l specifies its action from one of the
  29.      following:  list, load, unload, register, unregister.  With no options,
  30.      _m_l acts as if it were invoked as mmmmllll lllliiiisssstttt ----bbbb.  The lllldddd, uuuunnnnlllldddd, rrrreeeegggg, and
  31.      uuuunnnnrrrreeeegggg options are available only to the superuser.  If successful, the _m_l
  32.      command executes silently, unless the ----vvvv option is specified.
  33.  
  34.      mmmmllll lllliiiisssstttt provides a list of modules that are currently known by the
  35.      kernel.  The following options to mmmmllll lllliiiisssstttt are recognized:
  36.  
  37.      ----rrrr   Print registered modules only.
  38.  
  39.      ----llll   Print loaded modules only.
  40.  
  41.      ----bbbb   Print both loaded and registered modules.
  42.  
  43.      mmmmllll lllldddd causes a kernel module to be loaded into memory and prepared to be
  44.      executed as part of the kernel.  mmmmllll rrrreeeegggg is similar to mmmmllll lllldddd, except that
  45.      the module is not loaded until the first time the module is opened.  If
  46.      the ----vvvv option is specified, mmmmllll lllldddd and mmmmllll rrrreeeegggg list a module ID number on
  47.      standard output that can be used for subsequent unloading.  The ----dddd option
  48.      allows the module's static symbols to be added to its symbol table.  This
  49.      allows symmon to have access to all of the module's symbols and is useful
  50.      for debugging.  The module type must be specified by one of the following
  51.      options to mmmmllll lllldddd and mmmmllll rrrreeeegggg:
  52.  
  53.      ----cccc   Module is a character device driver.
  54.  
  55.      ----bbbb   Module is a block and character device driver.
  56.  
  57.      ----BBBB   Module is a block device driver only.
  58.  
  59.  
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. mmmmllll((((1111MMMM))))                                                                  mmmmllll((((1111MMMM))))
  71.  
  72.  
  73.  
  74.      ----ffff   Module is a streams device driver.
  75.  
  76.      ----mmmm   Module is a pushable streams module.
  77.  
  78.      ----llll   Module is a library module.
  79.  
  80.      ----jjjj   Module is a filesystem.
  81.  
  82.      ----iiii   Module is the kernel debug module.
  83.  
  84.      ----rrrr   Module is a symbol table module.
  85.  
  86.      The argument following the module type must be the name of the object
  87.      file for the module.
  88.  
  89.      With the exception of the symbol table and library modules, a module
  90.      prefix must be specified with the ----pppp option.  The module prefix is the
  91.      string used to find the various entry points within a module.
  92.  
  93.      Modules of type cccc, bbbb, BBBB, or ffff can specify an external device major number
  94.      with the ----ssss option.  If the major number is already in use, the module is
  95.      not loaded.  If a major number is not requested, it is assumed that the
  96.      driver will add its devices to the hardware graph and will not use a
  97.      major number.
  98.  
  99.      Modules of type mmmm can provide a streams module name with the ----aaaa option
  100.      that is entered into the ffffmmmmooooddddsssswwww structure in the kernel.  If a streams
  101.      module name is not provided, the module is given the same name as the
  102.      object file, with any trailing ....oooo removed.  If the module name is already
  103.      in use, the module is not loaded.
  104.  
  105.      Modules of type iiii are special kernel debugging modules to be used in
  106.      conjunction with the iiiiddddbbbbgggg(1M) command.
  107.  
  108.      Modules of type rrrr are symbol table modules.  A symbol table is created
  109.      from the ELF symbol information in the file specified.  This symbol table
  110.      can be used by other modules to link against when loaded.  A kernel run-
  111.      time symbol table can be loaded manually using this command.  The ----uuuu
  112.      option indicates that the module to be loaded is to be treated as the
  113.      kernel run-time symbol table.  This is the default when the ----rrrr option
  114.      specifies /unix.  For more information, see mmmmllllooooaaaadddd(4).
  115.  
  116.      Modules that are registered are automatically auto-unloaded after last
  117.      close by using a default auto-unload delay that is systuneable.  A
  118.      specific delay can be specified, in minutes, using the ----tttt option.
  119.      Modules can also be configured to not be auto-unloaded by using ----tttt ----2222.
  120.  
  121.      mmmmllll uuuunnnnlllldddd unloads the loaded kernel modules specified by _i_d.  Likewise, mmmmllll
  122.      uuuunnnnrrrreeeegggg unregisters the registered kernel modules specified by _i_d.  Both
  123.      commands accept a list of module identifiers as arguments.  If a
  124.      registered module has been loaded into memory after its first open, it
  125.      must be unloaded before it can be unregistered.
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136. mmmmllll((((1111MMMM))))                                                                  mmmmllll((((1111MMMM))))
  137.  
  138.  
  139.  
  140.      mmmmllll ddddeeeebbbbuuuugggg can be used to turn verbose debugging messages on or off or to
  141.      disable the loading and registering of modules:
  142.  
  143.      ----vvvv   Turn verbose debugging on.
  144.  
  145.      ----nnnn   Disable loading and registering of modules.
  146.  
  147.      ----ssss   Silence verbose debugging and allow loading and registering of
  148.           modules.
  149.  
  150. WWWWAAAARRRRNNNNIIIINNNNGGGGSSSS
  151.      A loaded module has all of the system privileges of kernel mode
  152.      execution.
  153.  
  154. EEEEXXXXAAAAMMMMPPPPLLLLEEEESSSS
  155.      List all loaded and registered modules:
  156.  
  157.           _mmmm_llll
  158.  
  159.      Load a streams driver with prefix ssssddddrrrrvvvv and major number 13:
  160.  
  161.           _mmmm_llll _llll_dddd _----_vvvv _----_ffff _ssss_tttt_rrrr_dddd_rrrr_vvvv_...._oooo _----_pppp _ssss_dddd_rrrr_vvvv _----_ssss _1111_3333
  162.  
  163.      Register a streams module with prefix ttttmmmmoooodddd and module name tttteeeessssttttmmmmoooodddd:
  164.  
  165.           _mmmm_llll _rrrr_eeee_gggg _----_mmmm _tttt_mmmm_oooo_dddd_...._oooo _----_pppp _tttt_mmmm_oooo_dddd _----_aaaa _tttt_eeee_ssss_tttt_mmmm_oooo_dddd
  166.  
  167.      Register a streams module with prefix ttttmmmmoooodddd and default module name ttttmmmmoooodddd:
  168.  
  169.           _mmmm_llll _rrrr_eeee_gggg _----_mmmm _tttt_mmmm_oooo_dddd_...._oooo _----_pppp _tttt_mmmm_oooo_dddd
  170.  
  171.      Unload the module with _i_d 1015:
  172.  
  173.           _mmmm_llll _uuuu_nnnn_llll_dddd _1111_0000_1111_5555
  174.  
  175.      Load the kernel debug module:
  176.  
  177.           _mmmm_llll _llll_dddd _----_iiii _////_vvvv_aaaa_rrrr_////_ssss_yyyy_ssss_gggg_eeee_nnnn_////_bbbb_oooo_oooo_tttt_////_iiii_dddd_bbbb_gggg_...._oooo _----_pppp _iiii_dddd_bbbb_gggg
  178.  
  179.  
  180. FFFFAAAAIIIILLLLUUUURRRREEEESSSS
  181.      _m_l failure codes and descriptions are listed in the header file
  182.      /_u_s_r/_i_n_c_l_u_d_e/_s_y_s/_m_l_o_a_d._h.
  183.  
  184. SSSSEEEEEEEE AAAALLLLSSSSOOOO
  185.      mload(4).
  186.  
  187. BBBBUUUUGGGGSSSS
  188.      The _m_l command does not provide a way to create edt structures for
  189.      drivers.  Driver initialization can only be done from the driver's iiiinnnniiiitttt
  190.      and ssssttttaaaarrrrtttt functions.  See the _l_b_o_o_t(1M) reference page for loading
  191.      drivers with edt functions.
  192.  
  193.  
  194.  
  195.                                                                         PPPPaaaaggggeeee 3333
  196.  
  197.  
  198.  
  199.